-
Notifications
You must be signed in to change notification settings - Fork 120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[catnap] Enhancement: Yield to kernel #1295
base: dev
Are you sure you want to change the base?
Conversation
Processing commits from 7f8103a to 4312f30 (in the last 15 days) Performance for Push() in tcp-ping-pong-server Diff since root commit.
Performance for Pop() in tcp-ping-pong-server Diff since root commit.
Performance for Push() in tcp-ping-pong-client Diff since root commit.
Performance for Pop() in tcp-ping-pong-client Diff since root commit.
|
Processing commits from 7f8103a to 4312f30 (in the last 15 days) Performance for Push() in tcp-ping-pong-server Diff since root commit.
Performance for Pop() in tcp-ping-pong-server Diff since root commit.
Performance for Push() in tcp-ping-pong-client Diff since root commit.
Performance for Pop() in tcp-ping-pong-client Diff since root commit.
|
Processing commits from 7f8103a to 4312f30 (in the last 15 days) Performance for Push() in tcp-ping-pong-server Diff since root commit.
Performance for Pop() in tcp-ping-pong-server Diff since root commit.
Performance for Push() in tcp-ping-pong-client Diff since root commit.
Performance for Pop() in tcp-ping-pong-client Diff since root commit.
|
This PR adds a yield to Catnap into the kernel for a configurable amount of time, currently set to 1 milliseconds. This ensures that we do not continuously poll and run the CPU at 100%, while still occasionally returning to Demikernel, every second. This is safe in Catnap because there are no background coroutines, however, it does mean that every poll takes at least 1 milliseconds to complete.